The present invention relates to apparatus and a method for automatic generation of playable media, and, more particularly, but not exclusively to automatic generation of playable video. This application is being co-filed with PCT/IL07/00842 filed 5 Jul. 2007, the contents of which are hereby incorporated by reference.
Today, video content delivered via TV, the Internet, mobile or any other video consumption medium, requires special production and creation of video content. This production includes creating the script, directing, shooting of the video, editing the video footage, designing the graphical elements, and more.
When creating video content from existing media elements, the same work is required, excluding actual filming of the video. However, there is a still need for scripting, editing and designing. The creator of the video still takes the flat media elements, which can include images, text, audio, animation and even video clips, organize them on a time line in a certain order and add effects such as narration, transitions between visual elements such as scenes or images, synchronize between audio and visual, create soundtrack, and more. The required tasks are typically carried out manually using well-known video editing tools. However, there are some problems in manual generation of video out of media elements:                Production consumes a lot of time, even if the actual shooting of the video is not required.        If there is a need to generate an endless stream of video, i.e. not just a short video clip but rather a TV channel which is played continuously, the problem becomes more severe. A large video production personnel would need to work around the clock to generate the video        If the flat media elements out of which the video is generated are dynamic, i.e. might change through time and thus the video needs to be generated in real time, then producing the video manually becomes almost impossible. For example let us assume that the content which is used for generating the video is breaking news regarding an ongoing sports event, such as text updating the score of a game which is currently being played, and pictures taken from that game. The goal is to generate a video which reports about the game and is 100% up-to-date. The media elements are dynamic as the score changes all the time and new pictures from the game are added. The need here, is to generate the video based on the text and images on-the-fly and in real time. Doing this manually is almost impossible.        
Many content providers, aggregators and owners hold a large amount of content, including video footage, audio, images, animation and text. Those media elements are typically stored in a database, content repository, Content Management Systems or simply on the file system. This content is purposed to be delivered to content consumers via different mediums such as mobile, PC, TV and the Web. However, the content is not organized or created as video content, meaning it is not organized on the time axis and does not constitute a video like experience, by which is meant that there is no continuity between the elements or that there is no storyboard.
One widespread example of a content repository is a Web site. Although the viewers of Web sites actually see the HTML pages through the operation of their browsers, in fact, in most cases, the HTML files represent a database of media elements. The HTML files are generated automatically based on that database. This is a very common scenario for many Web sites. The database out of which the HTML is generated can include text, audio, animation, images and video. There are plenty of automation tools which can integrate with such databases and generate HTML automatically which represents the media elements in the database. Those automatic tools usually include a template which defines a typical structure of HTML pages to be generated. The actual media elements which assemble that page are added automatically into the generated page. Thus a particular web site may have numerous pages, all however sharing certain basic structural elements. HTML can be structured dynamically and updated automatically. No such facility however exists for playable media such as audio or video.
Manual creation of playable media involves a scriptwriter defining what he needs to for the scene. There is no linearity in the instructions. While text is generally read in order, some stage instructions are intended to be carried out over the entire scene, and other stage instructions may be sequential. Yet other stage instructions may qualify following activities. The standard computer program comprises a series of instructions that are carried out in series. Even with variations such as object oriented programming, the computer still receives instructions sequentially. Thus script writing and computer programming are fundamentally different. That is to say the script for a play works differently from a computer program. Stage instructions are meant to be understood spatially and to be carried out simultaneously with other instructions and with reading of the text, and computer programs are linear. There is currently no known method of directly interfacing between the scriptwriter and the computer.